RattletraPM5

Untitled

Jul 6th, 2020
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. void __thiscall Algae(Algae *this,int shipId)
  2.  
  3. {
  4. int *piVar1;
  5. int iVar2;
  6. long local_18 [2];
  7.  
  8. Spreadable((Spreadable *)this,100,shipId);
  9. (this->super_Spreadable).super_Repairable.super_Selectable._vptr_Selectable =
  10. (anon_subr_int_for__vptr_Selectable **)0x7722d0;
  11. (this->super_Spreadable).super_Repairable.super_ShipObject._vptr_ShipObject =
  12. (anon_subr_int_for__vptr_ShipObject **)0x7723e0;
  13. this->fDeathTimer = -1.00000000;
  14. this->fStartTimer = 0.00000000;
  15. this->fOxygen = 100.00000000;
  16. basic_string((char *)local_18,(allocator *)"Algae");
  17. assign((basic_string_char_std__char_traits_char__std__allocator_char__ *)
  18. &(this->super_Spreadable).super_Repairable.name,(basic_string *)local_18);
  19. if (&DAT_ffffffffffffffe8 + local_18[0] != _S_empty_rep_storage) {
  20. piVar1 = (int *)(local_18[0] + -8);
  21. LOCK();
  22. iVar2 = *piVar1;
  23. *piVar1 = *piVar1 + -1;
  24. if (iVar2 < 1) {
  25. _ZNSs4_Rep10_M_destroyERKSaIcE(&DAT_ffffffffffffffe8 + local_18[0]);
  26. }
  27. }
  28. return;
  29. }
  30.  
  31. ----------------------------------------------------------------------------------------
  32.  
  33. void __thiscall Fire(Fire *this,int shipId)
  34.  
  35. {
  36. int *piVar1;
  37. int iVar2;
  38. long local_18 [2];
  39.  
  40. Spreadable((Spreadable *)this,100,shipId);
  41. this->fDeathTimer = -1.00000000;
  42. (this->fireAnimation).tracker.currentDelay = -1.00000000;
  43. (this->super_Spreadable).super_Repairable.super_Selectable._vptr_Selectable =
  44. (anon_subr_int_for__vptr_Selectable **)0x774a90;
  45. (this->super_Spreadable).super_Repairable.super_ShipObject._vptr_ShipObject =
  46. (anon_subr_int_for__vptr_ShipObject **)0x774ba0;
  47. this->fStartTimer = 0.00000000;
  48. this->fOxygen = 100.00000000;
  49.  
  50. //-snip-
  51. //Lots of fire & smoke animation-related stuff here, cut for better readability
  52. //-snip-
  53.  
  54. this->bWasOnFire = false;
  55. basic_string((char *)local_18,(allocator *)&DAT_007724c7);
  56. assign((basic_string_char_std__char_traits_char__std__allocator_char__ *)
  57. &(this->super_Spreadable).super_Repairable.name,(basic_string *)local_18);
  58. if (&DAT_ffffffffffffffe8 + local_18[0] != _S_empty_rep_storage) {
  59. piVar1 = (int *)(local_18[0] + -8);
  60. LOCK();
  61. iVar2 = *piVar1;
  62. *piVar1 = *piVar1 + -1;
  63. if (iVar2 < 1) {
  64. _ZNSs4_Rep10_M_destroyERKSaIcE(&DAT_ffffffffffffffe8 + local_18[0]);
  65. }
  66. }
  67. return;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment