10 public virtual bool ConsumeOnMiss
20 public override int DefaultStock
24 return 20 +
EClass.rnd(200);
30 public override int CraftNum
40 public override string LangUse
49 public override bool OnUse(
Chara c)
53 Msg.Say(
"isReloading");
58 if (traitToolRange ==
null)
62 if (bodySlot.thing !=
null && bodySlot.thing.trait is
TraitToolRange)
69 if (traitToolRange ==
null || !traitToolRange.IsAmmo(
this.owner as
Thing))
71 if (traitToolRange ==
null)
73 Msg.Say(
"invalidAction");
77 Msg.Say(
"wrongAmmo", this.owner, traitToolRange.owner,
null,
null);
81 return ActRanged.TryReload(traitToolRange.owner.Thing,
this.owner.Thing);
85 public override bool CanStackTo(
Thing to)
87 if (this.owner.elements.dict.Count<KeyValuePair<int, Element>>() != to.elements.dict.Count<KeyValuePair<int, Element>>())
91 foreach (
Element element
in this.owner.elements.dict.Values)
93 Element element2 = to.elements.GetElement(element.id);
94 if (element2 ==
null || element.vBase != element2.vBase)
99 return base.CanStackTo(to);