Exemple #1
0
 public GlobalCritterStealingEventArgs(Critter cr, Critter thief, Item item, int count)
 {
     this.Cr = cr;
     this.Thief = thief;
     this.Item = Item;
     this.Count = Count;
 }
Exemple #2
0
 // called by engine
 internal bool RaiseUse(Critter cr, Critter on_critter, Item on_item, IntPtr on_scenery)
 {
     if (use != null)
     {
         var e = new ItemUseEventArgs(this, cr, on_critter, on_item, Scenery.FromNative(on_scenery));
         use(this, e);
         return e.Prevent;
     }
     return false;
 }
Exemple #3
0
 // called by engine
 bool RaiseAttack(Critter cr, Critter target)
 {
     if (Attack != null)
     {
         var e = new ItemAttackEventArgs(this, cr, target);
         Attack(this, e);
         return e.Prevent;
     }
     return false;
 }
Exemple #4
0
 public static bool AddAttackPlane(this Critter npc, uint priority, Critter target, int minHp)
 {
     NpcPlane plane=Global.CreatePlane();
     plane.Type=PlaneType.Attack;
     plane.Priority=(priority==0?Priorities.Attack:priority);
     plane.Attack_TargId=target.Id;
     plane.Attack_MinHp=minHp;
     plane.Attack_IsGag=false;
     plane.Attack_GagHexX=0;
     plane.Attack_GagHexY=0;
     plane.Attack_LastHexY=target.HexY;
     plane.Attack_LastHexX=target.HexX;
     plane.Run=false;
     return npc.AddPlane(plane);
 }
Exemple #5
0
 public static bool AddAttackPlane(this Critter npc, uint priority, Critter target)
 {
     if(npc.IsPlayer)
     {
         Map map=npc.GetMap();
         uint loc=0;
         if(map != null) loc=map.GetLocation().GetProtoId();
         Global.Log("ERR: adding attack plane to player, loc pid={0}", loc);
     }
     NpcPlane plane=Global.CreatePlane();
     plane.Type=PlaneType.Attack;
     plane.Priority=(priority==0?Priorities.Attack:priority);
     plane.Attack_TargId=target.Id;
     plane.Attack_MinHp=Global.DeadHitPoints;
     plane.Attack_IsGag=false;
     plane.Attack_GagHexX=0;
     plane.Attack_GagHexY=0;
     plane.Attack_LastHexX=target.HexX;
     plane.Attack_LastHexY=target.HexY;
     plane.Run=false;
     return npc.AddPlane(plane);
 }
Exemple #6
0
 // called by engine
 void RaiseOutCritter(Critter cr)
 {
     if (OutCritter != null)
         OutCritter(this, new MapInOutCritterEventArgs(this, cr));
 }
Exemple #7
0
 public MapTurnBasedProcessEventArgs(Map map, Critter cr, bool begin_turn)
     : base(map)
 {
     this.Cr = cr;
     this.BeginTurn = begin_turn;
 }
Exemple #8
0
 public MapCritterDeadEventArgs(Map map, Critter cr, Critter killer)
     : base(map)
 {
     this.Cr = cr;
     this.Killer = killer;
 }
 public virtual void BeginTurnBased(Critter first_turn_crit)
 {
     Map_BeginTurnBased(thisptr, first_turn_crit.ThisPtr);
 }
 public virtual void RunFlyEffect(ushort pid, Critter from_cr, Critter to_cr, ushort from_hx, ushort from_hy, ushort to_hx, ushort to_hy)
 {
     Map_RunFlyEffect(thisptr, pid, (IntPtr)from_cr, (IntPtr)to_cr, from_hx, from_hy, to_hx, to_hy);
 }
 public virtual void EventOutCritter(Critter cr)
 {
     Map_EventOutCritter(thisptr, cr.ThisPtr);
 }
Exemple #12
0
 public CritterBarterEventArgs(Critter cr, Critter cr_barter, bool attach, uint barter_count)
     : base(cr)
 {
     this.CrBarter = cr_barter;
     this.Attach = attach;
     this.BarterCount = barter_count;
 }
Exemple #13
0
 public CritterAttackEventArgs(Critter cr, Critter target)
     : base(cr)
 {
     this.Target = target;
 }
Exemple #14
0
 public CritterAttackedEventArgs(Critter cr, Critter attacker)
     : base(cr)
 {
     this.Attacker = attacker;
 }
Exemple #15
0
 // called by engine
 bool RaiseUseSkillOnMe(Critter who_use, int skill)
 {
     if (UseSkillOnMe != null)
     {
         var e = new CritterUseSkillOnMeEventArgs(this, who_use, skill);
         UseSkillOnMe(this, e);
         return e.Prevent;
     }
     return false;
 }
Exemple #16
0
 public CritterGlobalInviteEventArgs(Critter cr, Item car, uint encounter_descriptor, int combat_mode)
     : base(cr)
 {
     this.Car = car;
     this.EncounterDescriptor = encounter_descriptor;
     this.CombatMode = combat_mode;
 }
Exemple #17
0
 public CritterGlobalProcessEventArgs(Critter cr, GlobalProcessType type, Item car)
     : base(cr)
 {
     this.Type = type;
     this.Car = car;
 }
Exemple #18
0
 public CritterChangeItemOnMapEventArgs(Critter cr, Item item)
     : base(cr)
 {
     this.Item = item;
 }
 public virtual uint GetPathLength(Critter cr, ushort to_hx, ushort to_hy, uint cut)
 {
     return Map_GetPathLengthCr(thisptr, cr.ThisPtr, to_hx, to_hy, cut);
 }
Exemple #20
0
 public CritterDeadEventArgs(Critter cr, Critter killer)
     : base(cr)
 {
     this.Killer = killer;
 }
 public virtual bool VerifyTrigger(Critter cr, ushort hx, ushort hy, Direction dir)
 {
     return Map_VerifyTrigger(thisptr, cr.ThisPtr, hx, hy, (byte)dir);
 }
Exemple #22
0
 public CritterDropItemEventArgs(Critter cr, Item item)
     : base(cr)
 {
     this.Item = Item;
 }
 public virtual void EventCritterDead(Critter cr, Critter killer)
 {
     Map_EventCritterDead(thisptr, cr.ThisPtr, (IntPtr)killer);
 }
Exemple #24
0
 public CritterEventArgs(Critter cr)
 {
     this.Cr = cr;
 }
Exemple #25
0
 public MapInOutCritterEventArgs(Map map, Critter cr)
     : base(map)
 {
     this.Cr = cr;
 }
Exemple #26
0
 public CritterEventPlaneBeginEndArgs(Critter cr, NpcPlane plane, int reason, Critter some_cr, Item some_item)
     : base(cr)
 {
     this.Plane = plane;
     this.Reason = reason;
     this.SomeCr = some_cr;
     this.SomeItem = some_item;
 }
Exemple #27
0
 // called by engine
 void RaiseCritterDead(Critter cr, Critter killer)
 {
     if (CritterDead != null)
         CritterDead(this, new MapCritterDeadEventArgs(this, cr, killer));
 }
Exemple #28
0
 public CritterEventPlaneRunArgs(Critter cr, NpcPlane plane, int reason, uint p0, uint p1, uint p2)
     : base(cr)
 {
     this.Plane = plane;
     this.Reason = reason;
     this.Param0 = p0;
     this.Param1 = p1;
     this.Param2 = p2;
 }
Exemple #29
0
 // called by engine
 void RaiseTurnBasedProcess(Critter cr, bool begin_turn)
 {
     if (TurnBasedProcess != null)
         TurnBasedProcess(this, new MapTurnBasedProcessEventArgs(this, cr, begin_turn));
 }
Exemple #30
0
 public CritterFinishEventArgs(Critter cr, bool deleted)
     : base(cr)
 {
     this.Deleted = deleted;
 }