17 return effect.FireAmount;
27 return Point.map.effectManager;
32 public override void Update()
34 this.manager.refreshList.Add(
this);
36 foreach (
XY xy
in Point.Surrounds)
38 Point.shared.Set(this.x + xy.x,
this.z + xy.y);
39 if (
Point.shared.IsValid)
42 if (cell.fireAmount !=
this.fireAmount)
44 if (cell.fireAmount >
this.fireAmount)
46 this.manager.GetOrCreate(
Point.shared);
48 else if (this.fireAmount <= 0)
50 base.cell.effect =
null;
54 byte b = (byte)(this.fireAmount - cell.fireAmount);
55 if (cell.fireAmount == 0)
57 if (this.fireAmount >= 2 && b >= 2)
61 this.Transfer(
Point.shared, 1);
73 else if (
EClass.rnd(3) == 0)
75 this.Transfer(
Point.shared, 1);
86 this.Transfer(
Point.shared, b - 1);
93 if (this.fireAmount == 0)
95 base.cell.effect =
null;
99 EClass._map.Burn(this.x, this.z,
false);
112 public void Transfer(
Point p,
byte amount = 1)
114 base.ModFire((
int)(-(
int)amount));
119 p.ModFire((
int)amount);