14 return this.owner.GetStr(31,
null);
18 this.owner.SetStr(31, value);
24 public override ZoneTransition.EnterState enterState
34 public override string langOnUse
44 public override bool IsTeleport
54 public override bool CanBeHeld
63 public override void TrySetAct(
ActPlan p)
66 if (p.input == ActInput.AllAction && (
EClass.debug.enable || !
this.owner.isNPCProperty))
68 p.TrySetAct(
"actSetTeleporterID", delegate()
70 Dialog.InputName(
"dialogTeleportId", this.
id.IsEmpty(
""), delegate(
bool cancel,
string text)
77 },
Dialog.InputType.Default);
79 }, this.owner,
null, 1,
false,
true,
false);
84 public override void OnChangePlaceState(PlaceState state)
86 if (state == PlaceState.installed)
91 EClass.game.teleports.Remove(this.owner.uid);
95 public override bool TryTeleport()
97 if (this.
id.IsEmpty() && !base.GetParam(1,
null).IsEmpty())
101 if (this.teleportedTurn ==
EClass.pc.turn)
103 this.teleportedTurn = 0;
106 List<TraitTeleporter> list =
new List<TraitTeleporter>();
110 if (traitTeleporter !=
null && traitTeleporter !=
this && traitTeleporter.owner.IsInstalled && traitTeleporter.owner.pos.IsInBounds && traitTeleporter.IsOn && traitTeleporter.id ==
this.id && traitTeleporter !=
this)
112 list.Add(traitTeleporter);
118 traitTeleporter2.teleportedTurn =
EClass.pc.turn;
119 EClass.pc.Teleport(traitTeleporter2.owner.pos,
false,
true);
122 Zone teleportZone =
EClass.game.teleports.GetTeleportZone(
this);
123 if (teleportZone ==
null)
127 if ((
EClass._zone.IsPCFaction && !
EClass._zone.branch.HasNetwork) || (teleportZone.IsPCFaction && !teleportZone.branch.HasNetwork))
129 Msg.Say(
"noNetwork");
132 if (
EClass._zone.IsPCFaction || teleportZone.IsPCFaction)
135 using (List<Quest>.Enumerator enumerator2 =
EClass.game.quests.list.GetEnumerator())
137 while (enumerator2.MoveNext())
139 if (enumerator2.Current.ForbidTeleport)
147 Msg.Say(
"hasInvalidQuest");
153 state = this.enterState,
154 idTele = this.
id.IsEmpty(base.GetParam(3,
null))
160 public int teleportedTurn;