Guest User

Untitled

a guest
Jun 22nd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.17 KB | None | 0 0
  1. :100644 100644 1d2af8d... d636d5d... M QTfrontend/ammoSchemeModel.cpp
  2. :100644 100644 990b9e4... 1db8d73... M QTfrontend/gamecfgwidget.cpp
  3. :100644 100644 1f1eb2d... bb2951d... M QTfrontend/pages.cpp
  4. :100644 100644 2077d02... 0788564... M QTfrontend/pages.h
  5. :100644 100644 de54225... d2218fb... M hedgewars/uConsole.pas
  6. :100644 100644 ac1acc4... 4111c34... M hedgewars/uGears.pas
  7. :100644 100644 0018805... 0133f38... M hedgewars/uMisc.pas
  8. :100644 100644 33d3dff... 763aae5... M hedgewars/uVisualGears.pas
  9.  
  10. diff --git QTfrontend/ammoSchemeModel.cpp QTfrontend/ammoSchemeModel.cpp
  11. index 1d2af8d..d636d5d 100644
  12. --- QTfrontend/ammoSchemeModel.cpp
  13. +++ QTfrontend/ammoSchemeModel.cpp
  14. @@ -44,6 +44,7 @@ QList<QVariant> defaultScheme = QList<QVariant>()
  15. << QVariant(4) // landadds 18
  16. << QVariant(30) // deathexplosion 19
  17. << QVariant(0) // waterlevel 20
  18. + << QVariant(1) // explosionmult 21
  19. ;
  20.  
  21. AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
  22. @@ -81,6 +82,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
  23. << "landadds" // 18
  24. << "deathexplosion" // 19
  25. << "waterlevel" // 20
  26. + << "explosionmult" // 21
  27. ;
  28.  
  29. QList<QVariant> proMode;
  30. @@ -106,6 +108,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
  31. << QVariant(4) // landadds 18
  32. << QVariant(30) // deathexplosion 19
  33. << QVariant(0) // waterlevel 20
  34. + << QVariant(1) // explosionmult 21
  35. ;
  36.  
  37. QList<QVariant> shoppa;
  38. @@ -131,6 +134,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
  39. << QVariant(4) // landadds 18
  40. << QVariant(30) // deathexplosion 19
  41. << QVariant(0) // waterlevel 20
  42. + << QVariant(1) // explosionmult 21
  43. ;
  44.  
  45. QList<QVariant> basketball;
  46. @@ -156,6 +160,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
  47. << QVariant(4) // landadds 18
  48. << QVariant(30) // deathexplosion 19
  49. << QVariant(0) // waterlevel 20
  50. + << QVariant(1) // explosionmult 21
  51. ;
  52.  
  53. QList<QVariant> minefield;
  54. @@ -181,6 +186,7 @@ AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
  55. << QVariant(50) // landadds 18
  56. << QVariant(30) // deathexplosion 19
  57. << QVariant(0) // waterlevel 20
  58. + << QVariant(1) // explosionmult 21
  59. ;
  60.  
  61. schemes.append(defaultScheme);
  62. diff --git QTfrontend/gamecfgwidget.cpp QTfrontend/gamecfgwidget.cpp
  63. index 990b9e4..1db8d73 100644
  64. --- QTfrontend/gamecfgwidget.cpp
  65. +++ QTfrontend/gamecfgwidget.cpp
  66. @@ -128,6 +128,7 @@ QStringList GameCFGWidget::getFullConfig() const
  67. sl.append("eseed " + pMapContainer->getCurrentSeed());
  68. sl.append(QString("e$gmflags %1").arg(getGameFlags()));
  69. sl.append(QString("e$damagepct %1").arg(schemeData(12).toInt()));
  70. + sl.append(QString("e$explosionmult %1").arg(schemeData(21).toInt()));
  71. sl.append(QString("e$turntime %1").arg(schemeData(13).toInt() * 1000));
  72. sl.append(QString("e$minestime %1").arg(schemeData(17).toInt() * 1000));
  73. sl.append(QString("e$landadds %1").arg(schemeData(18).toInt()));
  74. diff --git QTfrontend/pages.cpp QTfrontend/pages.cpp
  75. index 1f1eb2d..bb2951d 100644
  76. --- QTfrontend/pages.cpp
  77. +++ QTfrontend/pages.cpp
  78. @@ -1094,6 +1094,22 @@ PageScheme::PageScheme(QWidget* parent) :
  79. glBSLayout->addWidget(SB_WaterLevel,8,2,1,1);
  80.  
  81. l = new QLabel(gbBasicSettings);
  82. + l->setText(QLabel::tr("Explosion Multiplier"));
  83. + l->setWordWrap(true);
  84. + glBSLayout->addWidget(l,9,0,1,1);
  85. + l = new QLabel(gbBasicSettings);
  86. + l->setFixedSize(32,32);
  87. + l->setPixmap(QPixmap(":/res/iconTime.png")); // TODO: icon
  88. + glBSLayout->addWidget(l,9,1,1,1);
  89. + SB_ExplosionMult = new QSpinBox(gbBasicSettings);
  90. + SB_ExplosionMult->setSuffix("X");
  91. + SB_ExplosionMult->setRange(1, 5);
  92. + SB_ExplosionMult->setValue(1);
  93. + SB_ExplosionMult->setSingleStep(1);
  94. +
  95. + glBSLayout->addWidget(SB_ExplosionMult,9,2,1,1);
  96. +
  97. + l = new QLabel(gbBasicSettings);
  98. l->setText(QLabel::tr("Scheme Name:"));
  99.  
  100. LE_name = new QLineEdit(this);
  101. @@ -1142,6 +1158,7 @@ void PageScheme::setModel(QAbstractItemModel * model)
  102. mapper->addMapping(SB_Mines, 18);
  103. mapper->addMapping(SB_DeathExplosion, 19);
  104. mapper->addMapping(SB_WaterLevel, 20);
  105. + mapper->addMapping(SB_ExplosionMult, 21);
  106.  
  107. mapper->toFirst();
  108. }
  109. diff --git QTfrontend/pages.h QTfrontend/pages.h
  110. index 2077d02..0788564 100644
  111. --- QTfrontend/pages.h
  112. +++ QTfrontend/pages.h
  113. @@ -438,6 +438,7 @@ private:
  114. QSpinBox * SB_DeathExplosion;
  115. QSpinBox * SB_WaterLevel;
  116. QSpinBox * SB_Mines;
  117. + QSpinBox * SB_ExplosionMult;
  118. QLineEdit * LE_name;
  119. QComboBox * selectScheme;
  120.  
  121. diff --git hedgewars/uConsole.pas hedgewars/uConsole.pas
  122. index de54225..d2218fb 100644
  123. --- hedgewars/uConsole.pas
  124. +++ hedgewars/uConsole.pas
  125. @@ -243,6 +243,7 @@ RegisterVariable('delay' , vtLongInt, @cInactDelay , false);
  126. RegisterVariable('casefreq', vtLongInt, @cCaseFactor , false);
  127. RegisterVariable('sd_turns', vtLongInt, @cSuddenDTurns , false);
  128. RegisterVariable('damagepct', vtLongInt, @cDamagePercent, false);
  129. +RegisterVariable('explosionmult', vtLongInt, @cExplMult, false);
  130. RegisterVariable('landadds', vtLongInt, @cLandAdditions , false);
  131. RegisterVariable('gmflags' , vtLongInt, @GameFlags , false);
  132. RegisterVariable('turntime', vtLongInt, @cHedgehogTurnTime, false);
  133. diff --git hedgewars/uGears.pas hedgewars/uGears.pas
  134. index ac1acc4..4111c34 100644
  135. --- hedgewars/uGears.pas
  136. +++ hedgewars/uGears.pas
  137. @@ -1472,7 +1472,7 @@ end;
  138.  
  139. procedure doMakeExplosion(X, Y, Radius: LongInt; Mask: LongWord);
  140. var Gear: PGear;
  141. - dmg, dmgRadius: LongInt;
  142. + dmg, dmgRadius, origDmg: LongInt;
  143. begin
  144. TargetPoint.X:= NoPointX;
  145. {$IFDEF DEBUGFILE}if Radius > 4 then AddFileLog('Explosion: at (' + inttostr(x) + ',' + inttostr(y) + ')');{$ENDIF}
  146. @@ -1487,11 +1487,11 @@ else
  147. Gear:= GearsList;
  148. while Gear <> nil do
  149. begin
  150. - dmg:= dmgRadius + cHHRadius div 2 - hwRound(Distance(Gear^.X - int2hwFloat(X), Gear^.Y - int2hwFloat(Y)));
  151. - if (dmg > 1) and
  152. + origDmg:= dmgRadius + cHHRadius div 2 - hwRound(Distance(Gear^.X - int2hwFloat(X), Gear^.Y - int2hwFloat(Y)));
  153. + if (origDmg > 1) and
  154. ((Gear^.State and gstNoDamage) = 0) then
  155. begin
  156. - dmg:= modifyDamage(min(dmg div 2, Radius));
  157. + dmg:= modifyDamage(min(origDmg div 2, Radius));
  158. case Gear^.Kind of
  159. gtHedgehog,
  160. gtMine,
  161. @@ -1509,8 +1509,8 @@ while Gear <> nil do
  162. if ((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog) then
  163. begin
  164. DeleteCI(Gear);
  165. - Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - int2hwFloat(X));
  166. - Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - int2hwFloat(Y));
  167. + Gear^.dX:= Gear^.dX + SignAs(_0_005 * origDmg + cHHKick, Gear^.X - int2hwFloat(X))*cExplMult;
  168. + Gear^.dY:= Gear^.dY + SignAs(_0_005 * origDmg + cHHKick, Gear^.Y - int2hwFloat(Y))*cExplMult;
  169. Gear^.State:= (Gear^.State or gstMoving) and (not gstLoser);
  170. if not Gear^.Invulnerable then
  171. Gear^.State:= (Gear^.State or gstMoving) and (not gstWinner);
  172. diff --git hedgewars/uMisc.pas hedgewars/uMisc.pas
  173. index 0018805..0133f38 100644
  174. --- hedgewars/uMisc.pas
  175. +++ hedgewars/uMisc.pas
  176. @@ -45,6 +45,7 @@ var
  177. TurnTimeLeft : Longword = 0;
  178. cSuddenDTurns : LongInt = 15;
  179. cDamagePercent : LongInt = 100;
  180. + cExplMult : Integer = 1;
  181. cTemplateFilter : LongInt = 0;
  182.  
  183. cHedgehogTurnTime: Longword = 45000;
  184. diff --git hedgewars/uVisualGears.pas hedgewars/uVisualGears.pas
  185. index 33d3dff..763aae5 100644
Add Comment
Please, Sign In to add comment