@@ -340,12 +340,82 @@ void CScriptGameObject::SetAmmoElapsed(int ammo_elapsed)
340340 weapon->SetAmmoElapsed (ammo_elapsed);
341341}
342342
343+ // Alundaio
344+ int CScriptGameObject::GetAmmoCount (u8 type)
345+ {
346+ CWeapon* weapon = smart_cast<CWeapon*>(&object ());
347+ if (!weapon) return 0 ;
348+
349+ if (type < weapon->m_ammoTypes .size ())
350+ return weapon->GetAmmoCount_forType (weapon->m_ammoTypes [type]);
351+
352+ return 0 ;
353+ }
354+
355+ void CScriptGameObject::SetAmmoType (u8 type)
356+ {
357+ CWeapon* weapon = smart_cast<CWeapon*>(&object ());
358+ if (!weapon) return ;
359+
360+ weapon->SetAmmoType (type);
361+ }
362+
363+ void CScriptGameObject::SetMainWeaponType (u32 type)
364+ {
365+ CWeapon* weapon = smart_cast<CWeapon*>(&object ());
366+ if (!weapon) return ;
367+
368+ weapon->set_ef_main_weapon_type (type);
369+ }
370+
371+ void CScriptGameObject::SetWeaponType (u32 type)
372+ {
373+ CWeapon* weapon = smart_cast<CWeapon*>(&object ());
374+ if (!weapon) return ;
375+
376+ weapon->set_ef_weapon_type (type);
377+ }
378+
379+ u32 CScriptGameObject::GetMainWeaponType ()
380+ {
381+ CWeapon* weapon = smart_cast<CWeapon*>(&object ());
382+ if (!weapon) return 0 ;
383+
384+ return weapon->ef_main_weapon_type ();
385+ }
386+
387+ u32 CScriptGameObject::GetWeaponType ()
388+ {
389+ CWeapon* weapon = smart_cast<CWeapon*>(&object ());
390+ if (!weapon) return 0 ;
391+
392+ return weapon->ef_weapon_type ();
393+ }
394+
395+ bool CScriptGameObject::HasAmmoType (u8 type)
396+ {
397+ CWeapon* weapon = smart_cast<CWeapon*>(&object ());
398+ if (!weapon) return false ;
399+
400+ return type < weapon->m_ammoTypes .size ();
401+ }
402+
403+ u8 CScriptGameObject::GetWeaponSubstate ()
404+ {
405+ CWeapon* weapon = smart_cast<CWeapon*>(&object ());
406+ if (!weapon) return 0 ;
407+
408+ return weapon->m_sub_state ;
409+ }
410+
411+ // -Alundaio
412+
343413u32 CScriptGameObject::GetSuitableAmmoTotal () const
344414{
345415 const CWeapon* weapon = smart_cast<const CWeapon*>(&object ());
346416 if (!weapon)
347- return ( 0 ) ;
348- return ( weapon->GetSuitableAmmoTotal (true ) );
417+ return 0 ;
418+ return weapon->GetSuitableAmmoTotal (true );
349419}
350420
351421// ////////////////////////////////////////////////////////////////////////
0 commit comments